Software Disclaimer

Class UML 2.4.1::Actor

Description:

An actor specifies a role played by a user or any other system that interacts with the subject.

Direct Superclasses: BehavioredClassifier

Direct Subclasses:

Class Precedence List: Actor, BehavioredClassifier, Classifier, Namespace, Type, PackageableElement, ParameterableElement, RedefinableElement, NamedElement, TemplateableElement, Element

Properties:

classifierBehavior : Behavior (0 1); -- source BehavioredClassifier
interfaceRealization : InterfaceRealization (0 *); -- source BehavioredClassifier
ownedBehavior : Behavior (0 *); -- source BehavioredClassifier
attribute : Property (0 *); -- source Classifier
collaborationUse : CollaborationUse (0 *); -- source Classifier
feature : Feature (0 *); -- source Classifier

Specifies each feature defined in the classifier. Note that there may be members of the Classifier that are of the type Feature but are not included in this association, e.g. inherited features.
{readonly}
Derived union with sources: (attribute)
Subsets: Namespace.member
Opposite: Feature.featuringClassifier

general : Classifier (0 *); -- source Classifier
generalization : Generalization (0 *); -- source Classifier

Specifies the Generalization relationships for this Classifier. These Generalizations navigaten to more general classifiers in the generalization hierarchy.
{composite}
Subsets: Element.ownedElement
Opposite: Generalization.specific

inheritedMember : NamedElement (0 *); -- source Classifier
isAbstract : Boolean (1 1); -- source Classifier
isFinalSpecialization : Boolean (1 1); -- source Classifier
ownedTemplateSignature : RedefinableTemplateSignature (0 1); -- source Classifier
ownedUseCase : UseCase (0 *); -- source Classifier
powertypeExtent : GeneralizationSet (0 *); -- source Classifier
redefinedClassifier : Classifier (0 *); -- source Classifier
representation : CollaborationUse (0 1); -- source Classifier
substitution : Substitution (0 *); -- source Classifier
templateParameter : ClassifierTemplateParameter (0 1); -- source Classifier
useCase : UseCase (0 *); -- source Classifier
elementImport : ElementImport (0 *); -- source Namespace
importedMember : PackageableElement (0 *); -- source Namespace

References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.
{readonly, derived}
Subsets: Namespace.member

member : NamedElement (0 *); -- source Namespace

A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance.
{readonly}
Derived union with sources: (ownedRule, ownedMember, importedMember, ownedUseCase, inheritedMember, feature, attribute, ownedBehavior)

ownedMember : NamedElement (0 *); -- source Namespace
ownedRule : Constraint (0 *); -- source Namespace
packageImport : PackageImport (0 *); -- source Namespace
package : Package (0 1); -- source Type

Specifies the owning package of this classifier, if any.
Opposite: Package.ownedType

visibility : VisibilityKind (1 1); -- source PackageableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement
isLeaf : Boolean (1 1); -- source RedefinableElement
redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
redefinitionContext : Classifier (0 *); -- source RedefinableElement
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
templateBinding : TemplateBinding (0 *); -- source TemplateableElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: must_have_name() : Boolean;
Description: An actor must have a name.
Expression: name->notEmpty()

Signature: associations() : Boolean;
Description: An actor can only have associations to use cases, components and classes. Furthermore these associations must be binary.
The OCL used here is not normative.
Editor's notes: Actor.ownedAttribute is not defined.
Expression: true
Original: self.ownedAttribute->forAll ( a | (a.association->notEmpty()) implies ((a.association.memberEnd.size() = 2) and (a.opposite.class.oclIsKindOf(UseCase) or (a.opposite.class.oclIsKindOf(Class) and not a.opposite.class.oclIsKindOf(Behavior))))

Operations:

No additional operations.



Send questions or comments to [email protected].